package com.yeung.swordoffer;

import java.util.ArrayList;

/**
 * 如果没有小朋友，请返回-1
 */
public class 圆圈中最后剩下的树 {
    public int LastRemaining_Solution(int n, int m) {
        if (n < 0 || m < 0) return -1;
        ArrayList<Integer> list = new ArrayList<>();
        for (int i = 0; i < n; i++) {
            list.add(i);
        }
        //

        int curr = -1;
        while (list.size() > 1) {
            for (int i = 0; i < m; i++) {
                curr++;
                if (curr == list.size())//报数完了一圈,从圈开始的人继续报数
                    curr = 0;
            }
            //报数到m的那个人
            list.remove(curr);//将报了m-1的那个人移除圈
            curr--;//因为删了报了m的那个人,curr指向了m的下一个人,所以要-1,指向应有的位置

        }
        return list.get(0);

    }
}
